#define _CRT_SECURE_NO_WARNINGS 1

void Reverse(int* nums, int left, int right)
{
	while (left < right)
	{
		int tmp = nums[left];
		nums[left] = nums[right];
		nums[right] = tmp;
		left++;
		right--;
	}
}
void rotate(int* nums, int numsSize, int k) {
	//     while (k--)
	// {
	//     int tmp = nums[numsSize - 1];
	//     for (int end = numsSize - 2; end >= 0; end--)
	//     {
	//         nums[end + 1] = nums[end];
	//     }
	//     nums[0] = tmp;
	// }

	if (k >= numsSize)
		k = k % numsSize;
	Reverse(nums, numsSize - k, numsSize - 1);
	Reverse(nums, 0, numsSize - k - 1);
	Reverse(nums, 0, numsSize - 1);
}